import { computed, ref } from 'vue'
// 导入Pinia其中的方法
import { defineStore } from 'pinia'

// 定义store
// defineStore(仓库的唯一标识，() => {...})
// 导出函数
export const useCounterStore = defineStore('counter', () => {
  // 声明数据 state - count
  const count = ref(100)
  // 声明操作数据的方法 action (普通函数)
  const addCount = () => count.value++
  const subCount = () => count.value--
  
  // 声明基于数据派生的计算属性 getters (computed)
  const double = computed(() => count.value * 2)
  
  // 声明数据 state- msg
  const msg = ref('hello pinia')
  
  return {
    count,
    double,
    addCount,
    subCount,
    
    msg
  }
}, {
  //persist: true ,// 开启当前模块的持久化
  // 可以配置其他参数
  persist: {
    key: 'hm-counter',
    // 只持久化count数据，不持久msg
    paths: ['count']
  }
})